//
//  UIView+Frame.m
//  新浪微博
//
//  Created by apple on 14/11/21.
//  Copyright (c) 2014年 itcast. All rights reserved.
//

#import "UIView+Frame.h"

@implementation UIView (Frame)

- (void)setX:(CGFloat)x
{
    CGRect frame = self.frame;
    frame.origin.x = x;
    self.frame = frame;
}

- (CGFloat)x
{
    return self.frame.origin.x;
}

- (void)setY:(CGFloat)y
{
    CGRect frame = self.frame;
    frame.origin.y = y;
    self.frame = frame;
}

- (CGFloat)y
{
    return self.frame.origin.y;
}

- (void)setCenterX:(CGFloat)centerX
{
    CGPoint center = self.center;
    center.x = centerX;
    self.center = center;
}

- (CGFloat)centerX
{
    return self.center.x;
}

- (void)setCenterY:(CGFloat)centerY
{
    CGPoint center = self.center;
    center.y = centerY;
    self.center = center;
}

- (CGFloat)centerY
{
    return self.center.y;
}

- (void)setWidth:(CGFloat)width
{
    CGRect frame = self.frame;
    frame.size.width = width;
    self.frame = frame;
}

- (CGFloat)width
{
    return self.frame.size.width;
}

- (void)setHeight:(CGFloat)height
{
    CGRect frame = self.frame;
    frame.size.height = height;
    self.frame = frame;
}

- (CGFloat)height
{
    return self.frame.size.height;
}

- (void)setSize:(CGSize)size
{
    //    self.width = size.width;
    //    self.height = size.height;
    CGRect frame = self.frame;
    frame.size = size;
    self.frame = frame;
}

- (CGSize)size
{
    return self.frame.size;
}

- (void)setViewBorder:(CJQViewBorder)viewBorder {
    CGFloat borderWidth = self.layer.borderWidth;
    if(viewBorder & viewBorderTop) {
        [self addBorder:self borderWidth:borderWidth borderDirection:viewBorderTop];
    }
    if(viewBorder & viewBorderBottom) {
        [self addBorder:self borderWidth:borderWidth borderDirection:viewBorderBottom];
    }
    if(viewBorder & viewBorderLeft) {
        [self addBorder:self borderWidth:borderWidth borderDirection:viewBorderLeft];
    }
    if(viewBorder & viewBorderRight) {
        [self addBorder:self borderWidth:borderWidth borderDirection:viewBorderRight];
    }
    self.layer.borderWidth = 0;
}

- (CJQViewBorder)viewBorder {
    return self.viewBorder;
}

- (void)addBorder:(UIView *)view
      borderWidth:(CGFloat)borderWidth
  borderDirection:(CJQViewBorder)viewBorder {
    CGColorRef color = view.layer.borderColor;
    if(view.layer.borderWidth > 1000 || view.layer.borderWidth == 0) {
        borderWidth = 1;
    }else {
        borderWidth = view.layer.borderWidth;
    }
    CALayer * borderLine = [CALayer layer];
    borderLine.frame = [self rectForBorderView:self
                                   borderWidth:borderWidth
                               borderDirection:viewBorder];
    borderLine.backgroundColor = color;
    [view.layer addSublayer:borderLine];
}

- (CGRect)rectForBorderView:(UIView *)view
                borderWidth:(CGFloat)borderWidth
            borderDirection:(CJQViewBorder)viewBorder {
    if(viewBorder == viewBorderTop) {
        return CGRectMake(0, 0, view.width, borderWidth);
    }else if(viewBorder == viewBorderBottom) {
        return CGRectMake(0, view.height - borderWidth, view.width, borderWidth);
    }else if(viewBorder == viewBorderLeft) {
        return CGRectMake(0, 0, borderWidth, view.height);
    }else if(viewBorder == viewBorderRight) {
        return CGRectMake(view.width - borderWidth, 0, borderWidth, view.height);
    }
    return CGRectZero;
}
@end

